home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: Parag Patel <parag@hpsdeb.sde.hp.com>
- Subject: v20i018: dvi - C++ DVI filter for HP LaserJets, Patch01
- Message-ID: <1991May23.193542.4811@sparky.IMD.Sterling.COM>
- X-Md4-Signature: 69d19b544fb5b8e4fdbb693e903c428f
- Date: Thu, 23 May 1991 19:35:42 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: Parag Patel <parag@hpsdeb.sde.hp.com>
- Posting-number: Volume 20, Issue 18
- Archive-name: dvi/patch01
- Patch-To: dvi: Volume 19, Issue 64-66
-
- This is the first bug-fix release for dvi. The following is a list of
- modifications contained in this patch:
- - dvi has been ported to Sparc - minor ifdef needed,
- - version string was slightly modified so say_hello() in
- main.C works,
- - also looks for fonts such as /path/cmr7.300pk and cmr7.300gf,
- - Makefile was modified to allow overriding the default font
- search path.
-
- To apply this patch cd to the dvi source directory, unshar this file
- and the "patch < patch-1.6-1.7".
-
- -- Parag
-
- ---- Cut Here and feed the following to sh ----
- #!/bin/sh
- # This is a shell archive (produced by shar 3.49)
- # To extract the files from this archive, save it to a file, remove
- # everything above the "!/bin/sh" line above, and type "sh file_name".
- #
- # made 05/23/1991 17:49 UTC by parag@hpsdeb
- # Source directory /users/parag/tools/tex/dvi/VERSIONS
- #
- # existing files will NOT be overwritten unless -c is specified
- #
- # This shar contains:
- # length mode name
- # ------ ---------- ------------------------------------------
- # 10794 -rw-r--r-- patch-1.6-1.7
- #
- # ============= patch-1.6-1.7 ==============
- if test -f 'patch-1.6-1.7' -a X"$1" != X"-c"; then
- echo 'x - skipping patch-1.6-1.7 (File already exists)'
- else
- sed 's/^X//' << 'SHAR_EOF' > 'patch-1.6-1.7' &&
- *** tmp/Makefile Thu May 9 13:25:23 1991
- --- Makefile Mon May 20 19:05:45 1991
- ***************
- *** 1,5
- X # Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! # $Header: Makefile,v 1.22 91/05/09 14:25:22 hmgr Exp $
- X
- X CXX = CC
- X .SUFFIXES: .C
- X
- --- 1,5 -----
- X # Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! # $Header: Makefile,v 1.24 91/05/20 20:05:44 hmgr Exp $
- X
- X CXX = CC
- X .SUFFIXES: .C
- ***************
- *** 7,13
- X $(CXX) $(CFLAGS) -c $<
- X
- X # other system-dependent options - use only one of the -D<sys> macros:
- ! #CFLAGS = -O -DBSD -DMSDOS
- X CFLAGS = -g
- X LIBS = -lm
- X
- X
- --- 7,17 -----
- X $(CXX) $(CFLAGS) -c $<
- X
- X # other system-dependent options - use only one of the -D<sys> macros:
- ! # -DBSD for BSD derivatives
- ! # -DMSDOS for Zortech C++ - also run "make msdos-files"
- ! # -DFREE_TAKES_CHAR if you have a free(char*) instead of free(void*)
- ! # -DHP2686_FPATH=/path1:/path2:...
- ! # to modify the default font search path
- X CFLAGS = -g
- X LIBS = -lm
- X
- *** tmp/README Fri Feb 22 15:31:52 1991
- --- README Thu May 23 10:45:10 1991
- ***************
- *** 1,4
- ! $Header: README,v 1.10 91/02/22 16:31:45 hmgr Exp $
- X
- X Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- X You can do what you wish with this as long as
- X
- --- 1,4 -----
- ! $Header: README,v 1.15 91/05/23 11:45:11 hmgr Exp $
- X
- X Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- X You can do what you wish with this as long as
- ***************
- *** 9,20
- X software. It is completely unsupported. You're on your own.
- X
- X
- ! This is version 1.4 of my TeX DVI filter. I'd written it about 4 years
- ! ago since, at that time, the only LaserJet DVI filters available to me
- ! were in Pascal and ungodly slow. Anyway, it's been pointed out to me
- ! that "dvi" still one of the better DVIs around, so I figured it was time
- ! to get off my duff and make it available to the world at large. Or at
- ! small - I'm not picky.
- X
- X The man-page lists all the pertinent details, but here's some
- X highlights:
- X
- --- 9,20 -----
- X software. It is completely unsupported. You're on your own.
- X
- X
- ! This is the TeX DVI filter which I'd written it about 4 years ago when,
- ! at that time, the only LaserJet DVI filters available to me were in
- ! Pascal and ungodly slow. Anyway, it's been pointed out to me that "dvi"
- ! still one of the better DVIs around, so I figured it was time to get off
- ! my duff and make it available to the world at large. Or at small - I'm
- ! not picky.
- X
- X The man-page lists all the pertinent details, but here's some
- X highlights:
- ***************
- *** 47,57
- X among other things.)
- X
- X Dvi currently compiles right up on HP-UX 7.0, 6.5, and 6.2 (s300s or
- ! s800s), BSD4.3 (Tahoe) on hp300 hardware, and Zortech C++ on MSDOS. I
- ! use AT&T's C++ 2.0 (cfront) and not G++ on all my Unix boxes. I do NOT
- ! use C++ streams, but do use stdio. I have NO idea how much work it'll
- ! take to get it running on other systems or using G++, but it shouldn't
- ! be too hard.
- X
- X
- X Anyway, just type "make" to build a debug version of "dvi". Then copy
- X
- --- 47,57 -----
- X among other things.)
- X
- X Dvi currently compiles right up on HP-UX 7.0, 6.5, and 6.2 (s300s or
- ! s800s), BSD4.3 (Tahoe) on hp300 hardware, Zortech C++ on MSDOS, and
- ! Sparc. I use AT&T's C++ 2.0 (cfront) and not G++ on all my Unix boxes.
- ! I do NOT use C++ streams, but do use stdio. I have NO idea how much
- ! work it'll take to get it running on other systems or using G++, but it
- ! shouldn't be too hard.
- X
- X
- X Anyway, just type "make" to build a debug version of "dvi". Then copy
- ***************
- *** 57,63
- X Anyway, just type "make" to build a debug version of "dvi". Then copy
- X "dvi" and "dvi.1" to whatever names and whatever places you want them.
- X You will have to define -DMSDOS or -DBSD in the Makefile if you are on
- ! those systems.
- X
- X Use "make ljdump" to build the "ljdump" program. This is useful for
- X debugging dvi by converting PCL to a semi-human-readable dump.
- X
- --- 57,63 -----
- X Anyway, just type "make" to build a debug version of "dvi". Then copy
- X "dvi" and "dvi.1" to whatever names and whatever places you want them.
- X You will have to define -DMSDOS or -DBSD in the Makefile if you are on
- ! those systems. My Sparc also needed -DFREE_TAKES_CHAR.
- X
- X Use "make ljdump" to build the "ljdump" program. This is useful for
- X debugging dvi by converting PCL to a semi-human-readable dump.
- ***************
- *** 74,76
- X
- X
- X -- Parag Patel <parag@sde.hp.com>
- X
- --- 74,89 -----
- X
- X
- X -- Parag Patel <parag@sde.hp.com>
- +
- +
- +
- + --------------------REVISION-INFO----------------------
- +
- + 1.6 released on HP INTERX Contrib Tape and comp.sources.misc
- +
- + 1.7 first bug-fix release
- + files modified: Makefile README extern.h main.C readfont.C hp2686.h
- + ported to Sparc - minor ifdef needed
- + version string slightly modified so say_hello() in main.C works
- + also look for fonts such as /path/cmr7.300pk and cmr7.300gf
- + allow overriding default font search path from Makefile
- *** tmp/extern.h Fri Feb 22 14:59:13 1991
- --- extern.h Fri May 17 15:28:16 1991
- ***************
- *** 1,5
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! // $Header: extern.h,v 1.24 91/02/22 15:59:02 hmgr Exp $
- X
- X // externs for various LaserJet+ DVI filter functions
- X //
- X
- --- 1,5 -----
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! // $Header: extern.h,v 1.25 91/05/17 16:28:17 hmgr Exp $
- X
- X // externs for various LaserJet+ DVI filter functions
- X //
- ***************
- *** 91,97
- X // convienient inlines - these would otherwise would have to go elsewhere
- X
- X inline char *strnew(size_t len) { return (char*)malloc(len + 1); }
- ! inline void strfree(char *s) { if (s != NULL) free((void *)s); }
- X inline char *strdup(const char *s)
- X { return s != NULL ? strcpy((char*)malloc(strlen(s) + 1), s) : NULL; }
- X inline boolean streq(const char *s1, const char *s2)
- X
- --- 91,101 -----
- X // convienient inlines - these would otherwise would have to go elsewhere
- X
- X inline char *strnew(size_t len) { return (char*)malloc(len + 1); }
- ! #if FREE_TAKES_CHAR
- ! inline void strfree(const char *s) { if (s != NULL) free((char *)s); }
- ! #else
- ! inline void strfree(const char *s) { if (s != NULL) free((const void *)s); }
- ! #endif
- X inline char *strdup(const char *s)
- X { return s != NULL ? strcpy((char*)malloc(strlen(s) + 1), s) : NULL; }
- X inline boolean streq(const char *s1, const char *s2)
- *** tmp/main.C Tue Apr 2 16:50:35 1991
- --- main.C Fri May 17 15:28:21 1991
- ***************
- *** 1,5
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! static const char rcsid[] = "$Header: main.C,v 1.31 91/04/02 17:50:33 hmgr Exp $";
- X
- X // TeX DVI filter main() - just parses arguments and calls functions
- X //
- X
- --- 1,5 -----
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! static const char rcsid[] = "$Header: main.C,v 1.32 91/05/17 16:28:22 hmgr Exp $";
- X
- X // TeX DVI filter main() - just parses arguments and calls functions
- X //
- ***************
- *** 7,13
- X
- X #include "defs.h"
- X
- ! static char *const whatid = "@(#) dvi 1.6 (02 April 1991)";
- X
- X static void say_hello()
- X {
- X
- --- 7,13 -----
- X
- X #include "defs.h"
- X
- ! static char *const whatid = "@(#)dvi 1.7 (02 April 1991)";
- X
- X static void say_hello()
- X {
- *** tmp/readfont.C Tue Apr 2 16:50:29 1991
- --- readfont.C Mon May 20 15:12:45 1991
- ***************
- *** 1,5
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! static const char rcsid[] = "$Header: readfont.C,v 1.21 91/04/02 17:50:26 hmgr Exp $";
- X
- X // read font data from the METAFONT GF (generic font) files
- X //
- X
- --- 1,5 -----
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! static const char rcsid[] = "$Header: readfont.C,v 1.22 91/05/20 16:12:46 hmgr Exp $";
- X
- X // read font data from the METAFONT GF (generic font) files
- X //
- ***************
- *** 31,36
- X static char buf[MAXPATHLEN + 1];
- X sprintf(buf, "%s/%s/%s%s", dir, mag, base, ext);
- X char *path = buf;
- X FILE *fp = fopen(path, F_READ);
- X if (fp == NULL)
- X return FALSE;
- X
- --- 31,38 -----
- X static char buf[MAXPATHLEN + 1];
- X sprintf(buf, "%s/%s/%s%s", dir, mag, base, ext);
- X char *path = buf;
- +
- + debug(3, "looking for font file %s", path);
- X FILE *fp = fopen(path, F_READ);
- X if (fp == NULL)
- X return FALSE;
- ***************
- *** 109,114
- X if (tryfile(f, p.path, gfmagdir(p.dirs, f.mag), f.basename, ""))
- X return;
- X if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, ""))
- X return;
- X }
- X quit("Cannot find font file \"%s\" (at or near magnification %ld.%03ld) anywhere",
- X
- --- 111,124 -----
- X if (tryfile(f, p.path, gfmagdir(p.dirs, f.mag), f.basename, ""))
- X return;
- X if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, ""))
- + return;
- +
- + char ext[30];
- + sprintf(ext, ".%dpk", RESOLUTION);
- + if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, ext))
- + return;
- + sprintf(ext, ".%dgf", RESOLUTION);
- + if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, ext))
- X return;
- X }
- X quit("Cannot find font file \"%s\" (at or near magnification %ld.%03ld) anywhere",
- *** tmp/hp2686.h Fri Feb 22 14:58:59 1991
- --- hp2686.h Mon May 20 19:05:50 1991
- ***************
- *** 1,5
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! // $Header: hp2686.h,v 1.13 91/02/22 15:58:47 hmgr Exp $
- X
- X // HP2686 LaserJet+ device-specific definitions.
- X // The LaserJet+ Reference Manual should be consulted for more
- X
- --- 1,5 -----
- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved.
- ! // $Header: hp2686.h,v 1.14 91/05/20 20:05:52 hmgr Exp $
- X
- X // HP2686 LaserJet+ device-specific definitions.
- X // The LaserJet+ Reference Manual should be consulted for more
- ***************
- *** 37,42
- X void rule(double v, double h);
- X };
- X
- X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser"
- X
- X // about 1 inch from both margins - tweaked until TeX test comes out right
- X
- --- 37,43 -----
- X void rule(double v, double h);
- X };
- X
- + #ifndef HP2686_FPATH
- X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser"
- X #endif
- X
- ***************
- *** 38,43
- X };
- X
- X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser"
- X
- X // about 1 inch from both margins - tweaked until TeX test comes out right
- X // when printed to a LaserJet - lots of fun with unprintable regions!
- X
- --- 39,45 -----
- X
- X #ifndef HP2686_FPATH
- X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser"
- + #endif
- X
- X // about 1 inch from both margins - tweaked until TeX test comes out right
- X // when printed to a LaserJet - lots of fun with unprintable regions!
- SHAR_EOF
- chmod 0644 patch-1.6-1.7 ||
- echo 'restore of patch-1.6-1.7 failed'
- Wc_c="`wc -c < 'patch-1.6-1.7'`"
- test 10794 -eq "$Wc_c" ||
- echo 'patch-1.6-1.7: original size 10794, current size' "$Wc_c"
- fi
- exit 0
-
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-